package com.songhuan.web.dto;

import com.songhuan.web.entity.Enums;
import com.songhuan.web.tools.dto.BaseDto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class AppUserDto extends BaseDto {
    /**
     * 账号
     */
    @JsonProperty("UserName")
    private String UserName;
    /**
     * 密码
     */
    @JsonProperty("Password")
    private String Password;
    /**
     * 原始密码
     */
    @JsonProperty("OrginPassword")
    private String OrginPassword;


    /**
     * 邮箱
     */
    @JsonProperty("Email")
    private String Email;
    /**
     * 头像
     */
    @JsonProperty("ImageUrls")
    private String ImageUrls;
    /**
     * 名称
     */
    @JsonProperty("Name")
    private String Name;
    /**
     * 手机号码
     */
    @JsonProperty("PhoneNumber")
    private String PhoneNumber;
    /**
     * 出生年月
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("Birth")
    private LocalDateTime Birth;
    /**
     * 地址
     */
    @JsonProperty("Address")
    private String Address;

    /**
     * 用户角色
     */
    @JsonProperty("RoleType")
    private Integer RoleType;


    /**
     * 登录时间段
     */
    @JsonProperty("LoginTimePeriod")
    private String LoginTimePeriod;

    /**
     * 微信唯一标识
     */
    @JsonProperty("OpenId")
    private String OpenId;
    /**
     * 微信注册额外值
     */
    @JsonProperty("WxCode")
    private String WxCode;

    /**
     * 班级ID
     */
    @JsonProperty("OrganizationId")
    private Integer OrganizationId;


    @JsonProperty("OrganizationDto")
    private OrganizationDto OrganizationDto;

    /**
     * 是否人脸认证
     */
    @JsonProperty("FaceAuth")
    private Boolean FaceAuth;

    @JsonProperty("CheckSettingId")
    private Integer CheckSettingId;

    /**
     * 用户角色描述
     *
     * @return
     */
    @JsonProperty("RoleTypeFormat")
    public String RoleTypeFormat() {
        return Enums.RoleType.GetEnum(RoleType).toString();
    }
}
